{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入必要的工具包\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.linear_model import LinearRegression, RidgeCV, LassoCV\n",
    "from sklearn.metrics import r2_score\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
       "0        1         1         0         0         0       1       0       0   \n",
       "1        2         1         0         0         0       1       0       0   \n",
       "2        3         1         0         0         0       1       0       0   \n",
       "3        4         1         0         0         0       1       0       0   \n",
       "4        5         1         0         0         0       1       0       0   \n",
       "\n",
       "   mnth_4  mnth_5  ...  weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...          0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...          0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...          0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...          0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...          0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#读取数据\n",
    "df = pd.read_csv(\"./FE_day.csv\")\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 35 columns):\n",
      "instant         731 non-null int64\n",
      "season_1        731 non-null int64\n",
      "season_2        731 non-null int64\n",
      "season_3        731 non-null int64\n",
      "season_4        731 non-null int64\n",
      "mnth_1          731 non-null int64\n",
      "mnth_2          731 non-null int64\n",
      "mnth_3          731 non-null int64\n",
      "mnth_4          731 non-null int64\n",
      "mnth_5          731 non-null int64\n",
      "mnth_6          731 non-null int64\n",
      "mnth_7          731 non-null int64\n",
      "mnth_8          731 non-null int64\n",
      "mnth_9          731 non-null int64\n",
      "mnth_10         731 non-null int64\n",
      "mnth_11         731 non-null int64\n",
      "mnth_12         731 non-null int64\n",
      "weathersit_1    731 non-null int64\n",
      "weathersit_2    731 non-null int64\n",
      "weathersit_3    731 non-null int64\n",
      "weekday_0       731 non-null int64\n",
      "weekday_1       731 non-null int64\n",
      "weekday_2       731 non-null int64\n",
      "weekday_3       731 non-null int64\n",
      "weekday_4       731 non-null int64\n",
      "weekday_5       731 non-null int64\n",
      "weekday_6       731 non-null int64\n",
      "temp            731 non-null float64\n",
      "atemp           731 non-null float64\n",
      "hum             731 non-null float64\n",
      "windspeed       731 non-null float64\n",
      "holiday         731 non-null int64\n",
      "workingday      731 non-null int64\n",
      "yr              731 non-null int64\n",
      "cnt             731 non-null int64\n",
      "dtypes: float64(4), int64(31)\n",
      "memory usage: 200.0 KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['season_1', 'season_2', 'season_3', 'season_4', 'mnth_1', 'mnth_2',\n",
      "       'mnth_3', 'mnth_4', 'mnth_5', 'mnth_6', 'mnth_7', 'mnth_8', 'mnth_9',\n",
      "       'mnth_10', 'mnth_11', 'mnth_12', 'weathersit_1', 'weathersit_2',\n",
      "       'weathersit_3', 'weekday_0', 'weekday_1', 'weekday_2', 'weekday_3',\n",
      "       'weekday_4', 'weekday_5', 'weekday_6', 'temp', 'atemp', 'hum',\n",
      "       'windspeed', 'holiday', 'workingday', 'yr'],\n",
      "      dtype='object')\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(584, 33)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数据准备\n",
    "y = df[\"cnt\"]\n",
    "X = df.drop([\"instant\", \"cnt\"], axis=1)\n",
    "\n",
    "feat_names = X.columns\n",
    "print(feat_names)\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=50, test_size=0.2)\n",
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:492: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations. Fitting data with very small alpha may cause precision problems.\n",
      "  ConvergenceWarning)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>columns</th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>coef_lasso</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>yr</td>\n",
       "      <td>2.010420e+03</td>\n",
       "      <td>2012.675000</td>\n",
       "      <td>2008.375185</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>temp</td>\n",
       "      <td>2.445085e+03</td>\n",
       "      <td>1738.391691</td>\n",
       "      <td>2513.717418</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>atemp</td>\n",
       "      <td>1.142332e+03</td>\n",
       "      <td>1531.609878</td>\n",
       "      <td>1060.715970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>season_4</td>\n",
       "      <td>-6.758152e+15</td>\n",
       "      <td>815.571121</td>\n",
       "      <td>758.983316</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>weathersit_1</td>\n",
       "      <td>5.766992e+15</td>\n",
       "      <td>754.348535</td>\n",
       "      <td>417.817948</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>mnth_9</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>718.699598</td>\n",
       "      <td>651.163089</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>mnth_5</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>406.205531</td>\n",
       "      <td>358.291947</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>weathersit_2</td>\n",
       "      <td>5.766992e+15</td>\n",
       "      <td>298.559270</td>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>weekday_6</td>\n",
       "      <td>-7.054905e+15</td>\n",
       "      <td>263.518103</td>\n",
       "      <td>125.725093</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>mnth_6</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>248.925524</td>\n",
       "      <td>133.077171</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>mnth_8</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>224.939595</td>\n",
       "      <td>95.167407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>workingday</td>\n",
       "      <td>-2.851237e+15</td>\n",
       "      <td>220.164674</td>\n",
       "      <td>1.294525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>mnth_10</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>128.731748</td>\n",
       "      <td>83.836762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>weekday_5</td>\n",
       "      <td>-4.203668e+15</td>\n",
       "      <td>105.968286</td>\n",
       "      <td>168.325754</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>mnth_3</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>101.948052</td>\n",
       "      <td>121.793140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>season_2</td>\n",
       "      <td>-6.758152e+15</td>\n",
       "      <td>88.367950</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>weekday_4</td>\n",
       "      <td>-4.203668e+15</td>\n",
       "      <td>22.513436</td>\n",
       "      <td>88.345624</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>season_3</td>\n",
       "      <td>-6.758152e+15</td>\n",
       "      <td>2.294625</td>\n",
       "      <td>-71.597136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>mnth_4</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>-13.789179</td>\n",
       "      <td>-5.445475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>mnth_7</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>-48.439604</td>\n",
       "      <td>-179.557610</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>weekday_3</td>\n",
       "      <td>-4.203668e+15</td>\n",
       "      <td>-74.067912</td>\n",
       "      <td>-0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>weekday_2</td>\n",
       "      <td>-4.203668e+15</td>\n",
       "      <td>-90.636103</td>\n",
       "      <td>-7.584620</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>weekday_0</td>\n",
       "      <td>-7.054905e+15</td>\n",
       "      <td>-96.076016</td>\n",
       "      <td>-226.267730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>weekday_1</td>\n",
       "      <td>-4.203668e+15</td>\n",
       "      <td>-131.219793</td>\n",
       "      <td>-47.324174</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>mnth_2</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>-218.093656</td>\n",
       "      <td>-151.725997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>holiday</td>\n",
       "      <td>-2.851237e+15</td>\n",
       "      <td>-387.606761</td>\n",
       "      <td>-619.867564</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>mnth_1</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>-441.307561</td>\n",
       "      <td>-357.016549</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>mnth_11</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>-534.840410</td>\n",
       "      <td>-520.692242</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>mnth_12</td>\n",
       "      <td>3.294169e+15</td>\n",
       "      <td>-572.979637</td>\n",
       "      <td>-535.282070</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>season_1</td>\n",
       "      <td>-6.758152e+15</td>\n",
       "      <td>-906.233697</td>\n",
       "      <td>-991.604098</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>weathersit_3</td>\n",
       "      <td>5.766992e+15</td>\n",
       "      <td>-1052.907805</td>\n",
       "      <td>-1351.546334</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>windspeed</td>\n",
       "      <td>-1.489439e+03</td>\n",
       "      <td>-1330.059232</td>\n",
       "      <td>-1438.972827</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>hum</td>\n",
       "      <td>-1.778562e+03</td>\n",
       "      <td>-1479.530743</td>\n",
       "      <td>-1681.749173</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         columns       coef_lr   coef_ridge   coef_lasso\n",
       "32            yr  2.010420e+03  2012.675000  2008.375185\n",
       "26          temp  2.445085e+03  1738.391691  2513.717418\n",
       "27         atemp  1.142332e+03  1531.609878  1060.715970\n",
       "3       season_4 -6.758152e+15   815.571121   758.983316\n",
       "16  weathersit_1  5.766992e+15   754.348535   417.817948\n",
       "12        mnth_9  3.294169e+15   718.699598   651.163089\n",
       "8         mnth_5  3.294169e+15   406.205531   358.291947\n",
       "17  weathersit_2  5.766992e+15   298.559270    -0.000000\n",
       "25     weekday_6 -7.054905e+15   263.518103   125.725093\n",
       "9         mnth_6  3.294169e+15   248.925524   133.077171\n",
       "11        mnth_8  3.294169e+15   224.939595    95.167407\n",
       "31    workingday -2.851237e+15   220.164674     1.294525\n",
       "13       mnth_10  3.294169e+15   128.731748    83.836762\n",
       "24     weekday_5 -4.203668e+15   105.968286   168.325754\n",
       "6         mnth_3  3.294169e+15   101.948052   121.793140\n",
       "1       season_2 -6.758152e+15    88.367950     0.000000\n",
       "23     weekday_4 -4.203668e+15    22.513436    88.345624\n",
       "2       season_3 -6.758152e+15     2.294625   -71.597136\n",
       "7         mnth_4  3.294169e+15   -13.789179    -5.445475\n",
       "10        mnth_7  3.294169e+15   -48.439604  -179.557610\n",
       "22     weekday_3 -4.203668e+15   -74.067912    -0.000000\n",
       "21     weekday_2 -4.203668e+15   -90.636103    -7.584620\n",
       "19     weekday_0 -7.054905e+15   -96.076016  -226.267730\n",
       "20     weekday_1 -4.203668e+15  -131.219793   -47.324174\n",
       "5         mnth_2  3.294169e+15  -218.093656  -151.725997\n",
       "30       holiday -2.851237e+15  -387.606761  -619.867564\n",
       "4         mnth_1  3.294169e+15  -441.307561  -357.016549\n",
       "14       mnth_11  3.294169e+15  -534.840410  -520.692242\n",
       "15       mnth_12  3.294169e+15  -572.979637  -535.282070\n",
       "0       season_1 -6.758152e+15  -906.233697  -991.604098\n",
       "18  weathersit_3  5.766992e+15 -1052.907805 -1351.546334\n",
       "29     windspeed -1.489439e+03 -1330.059232 -1438.972827\n",
       "28           hum -1.778562e+03 -1479.530743 -1681.749173"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#线性回归模型\n",
    "lr = LinearRegression()\n",
    "lr.fit(X_train, y_train)\n",
    "y_train_pred_lr = lr.predict(X_train)\n",
    "y_test_pred_lr = lr.predict(X_test)\n",
    "#调优参数范围\n",
    "alphas = [0.01, 0.1, 1, 10, 100]\n",
    "#岭回归模型\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True)\n",
    "ridge.fit(X_train, y_train)\n",
    "y_train_pred_ridge = ridge.predict(X_train)\n",
    "y_test_pred_ridge = ridge.predict(X_test)\n",
    "#Lasso回归模型\n",
    "lasso = LassoCV(alphas=alphas, cv=5)\n",
    "lasso.fit(X_train, y_train)\n",
    "y_train_pred_lasso = lasso.predict(X_train)\n",
    "y_test_pred_lasso = lasso.predict(X_test)\n",
    "\n",
    "#查看回归系数\n",
    "fs = pd.DataFrame({\"columns\":list(feat_names), \"coef_lr\":list(lr.coef_), \"coef_ridge\":list(ridge.coef_), \"coef_lasso\":list(lasso.coef_)})\n",
    "fs.sort_values(by=[\"coef_ridge\"], ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The R2 score of Linear Regression model on test datas is  0.7613517353152273\n",
      "The R2 score of Linear Regression model on train datas is  0.8655437324078589\n",
      "\n",
      "\n",
      "The R2 score of Ridge Regression model on test datas is  0.7641949413875531\n",
      "The R2 score of Ridge Regression model on train datas is  0.8650095948064659\n",
      "The best alpha is  1.0\n",
      "\n",
      "\n",
      "The R2 score of Lasso Regression model on test datas is  0.7631458177932909\n",
      "The R2 score of Lasso Regression model on train datas is  0.8654137321741464\n",
      "The best alpha is  1.0\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "#模型的R2分数比较\n",
    "model_name = [\"Linear\", \"Ridge\", \"Lasso\"]\n",
    "model = [lr, ridge, lasso]\n",
    "y_train_pred = [y_train_pred_lr, y_train_pred_ridge, y_train_pred_lasso]\n",
    "y_test_pred = [y_test_pred_lr, y_test_pred_ridge, y_test_pred_lasso]\n",
    "for i in range(0, 3):\n",
    "    print(\"The R2 score of %s Regression model on test datas is \" % model_name[i], r2_score(y_test, y_test_pred[i]))\n",
    "    print(\"The R2 score of %s Regression model on train datas is \" % model_name[i], r2_score(y_train, y_train_pred[i]))\n",
    "    if i > 0:\n",
    "        print(\"The best alpha is \", model[i].alpha_)\n",
    "    print(\"\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#模型性能可视化\n",
    "for i in range(0,3):\n",
    "    sns.jointplot(x=y_train, y=y_train_pred[i], data=df, kind=\"scatter\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rooted Mean Squared Error of Linear Regression model is  716.4401257377501\n",
      "Rooted Mean Squared Error of Ridge Regression model is  717.8617712895117\n",
      "Rooted Mean Squared Error of Lasso Regression model is  716.786390302634\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import mean_squared_error\n",
    "for i in range(0, 3):\n",
    "    rmse = mean_squared_error(y_train, y_train_pred[i]) ** 0.5\n",
    "    print(\"Rooted Mean Squared Error of %s Regression model is \" % model_name[i], rmse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
